/*
 * Copyright (c) 2015, FPX and/or its affiliates. All rights reserved.
 * Use, Copy is subject to authorized license.
 */
package com.fpx.open.platform.domain.ae.batch_send;

import java.util.List;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;


/**
 * batch send 事件体
 * @author shiwei
 * @date 2015年7月4日
 */
public class BatchSendEventBody {
	
	private List<Product> orderInfos;
	
	/** Default value is taobao Required */
	private String ecCompanyId;
	
	/** Warehouse code Required */
	private String whCode;
	
	/** Logistics order Id Required */
	private String logisticsOrderId;
	
	/** Logistics order Code Required */
	private String orderCode;
	
	/** Trade Id optional */
	private String tradeId;
	
	/** Logistics waybill No. Required */
	private String mailNo;
	
	/** Receiver country Required */
	private String rcountry;
	
	/** Receiver province/state optional */
	private String rprovince;
	
	/** Receiver city Required */
	private String rcity;
	
	/** Receiver distinct Optional */
	private String raddress;
	
	/** Receiver zipCode Optional */
	private String rpostcode;
	
	/** Receiver name Optional */
	private String rname;
	
	/** Receiver phone Optional */
	private String rphone;
	
	/** Receiver email Optional */
	private String remail;
	
	/** Sender name Optional */
	private String sname;
	
	/** Sender wangwang Id Optional */
	private String swangwangId;
	
	/** Sender province/state Optional */
	private String sprovince;
	
	/** Sender city Required */
	private String scity;
	
	/** Sender address Optional */
	private String saddress;
	
	/** Sender phone Optional */
	private String sphone;
	
	/** Sender zipcode Required */
	private String spostcode;
	
	/** Insured value(cent) Optional */
	private Long insureValue;
	
	/** Insurance value(cent) Optional */
	private Long insuranceValue;
	
	/** Email remark Optional */
	private String remark;
	
	/** Type of delivery: HK-air, SAL-sea or land optional */
	private String channel;
	
	/** Total weight(gram) Required */
	private Long Itotleweight;
	
	/** Total value(cent) Required */
	private Long Itotlevalue;
	
	/** Total weight(gram) Required */
	private Long totleweight;
	
	/** If has battery default value false Required */
	private Boolean hasBattery;
	
	/** PickUp address Required */
	private String pickUpAddress;
	
	/** Sender country,default china Required */
	private String country;
	
	/** 1:present 2:goods sample 3:file 4:others Required */
	private String mailKind;
	
	/** letters Required */
	private String mailClass;
	
	/** SUMAITONG Optional */
	private String mailType;
	
	/** Interface type:1.report 2 logistics information Required */
	private Integer faceType;
	
	/** Reserved for extension Optional */
	private String feature;
	
	/** Strategy when the package cannot be delivered:1.discard 2.return Required */
	private Integer undeliveryOption;
	
	/** Batch number when the parcel outBound Optional */
	private String batchNo;
	
	/** Outside package code Optional */
	private String packageCode;
	
	/** The weight of the outside package(gram) Optional */
	private Long packageWeight;
	
	/** The number of the orders in the outside package Optional */
	private Long ordersInPackage;
	
	public String getEcCompanyId() {
		return ecCompanyId;
	}

	public void setEcCompanyId(String ecCompanyId) {
		this.ecCompanyId = ecCompanyId;
	}

	public String getWhCode() {
		return whCode;
	}

	public void setWhCode(String whCode) {
		this.whCode = whCode;
	}

	public String getLogisticsOrderId() {
		return logisticsOrderId;
	}

	public void setLogisticsOrderId(String logisticsOrderId) {
		this.logisticsOrderId = logisticsOrderId;
	}

	public String getOrderCode() {
		return orderCode;
	}

	public void setOrderCode(String orderCode) {
		this.orderCode = orderCode;
	}

	public String getTradeId() {
		return tradeId;
	}

	public void setTradeId(String tradeId) {
		this.tradeId = tradeId;
	}

	public String getMailNo() {
		return mailNo;
	}

	public void setMailNo(String mailNo) {
		this.mailNo = mailNo;
	}

	@XmlElement(name = "Rcountry")
	public String getRcountry() {
		return rcountry;
	}

	public void setRcountry(String rcountry) {
		this.rcountry = rcountry;
	}

	public Long getInsureValue() {
		return insureValue;
	}

	public void setInsureValue(Long insureValue) {
		this.insureValue = insureValue;
	}

	public Long getInsuranceValue() {
		return insuranceValue;
	}

	public void setInsuranceValue(Long insuranceValue) {
		this.insuranceValue = insuranceValue;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public String getChannel() {
		return channel;
	}

	public void setChannel(String channel) {
		this.channel = channel;
	}

	public Long getItotleweight() {
		return Itotleweight;
	}

	public void setItotleweight(Long itotleweight) {
		Itotleweight = itotleweight;
	}

	public Long getItotlevalue() {
		return Itotlevalue;
	}

	public void setItotlevalue(Long itotlevalue) {
		Itotlevalue = itotlevalue;
	}

	public Long getTotleweight() {
		return totleweight;
	}

	public void setTotleweight(Long totleweight) {
		this.totleweight = totleweight;
	}

	public Boolean getHasBattery() {
		return hasBattery;
	}

	public void setHasBattery(Boolean hasBattery) {
		this.hasBattery = hasBattery;
	}

	public String getPickUpAddress() {
		return pickUpAddress;
	}

	public void setPickUpAddress(String pickUpAddress) {
		this.pickUpAddress = pickUpAddress;
	}

	public String getCountry() {
		return country;
	}

	public void setCountry(String country) {
		this.country = country;
	}

	public String getMailKind() {
		return mailKind;
	}

	public void setMailKind(String mailKind) {
		this.mailKind = mailKind;
	}

	public String getMailClass() {
		return mailClass;
	}

	public void setMailClass(String mailClass) {
		this.mailClass = mailClass;
	}

	public String getMailType() {
		return mailType;
	}

	public void setMailType(String mailType) {
		this.mailType = mailType;
	}

	public Integer getFaceType() {
		return faceType;
	}

	public void setFaceType(Integer faceType) {
		this.faceType = faceType;
	}

	public String getFeature() {
		return feature;
	}

	public void setFeature(String feature) {
		this.feature = feature;
	}

	public Integer getUndeliveryOption() {
		return undeliveryOption;
	}

	public void setUndeliveryOption(Integer undeliveryOption) {
		this.undeliveryOption = undeliveryOption;
	}

	public String getBatchNo() {
		return batchNo;
	}

	public void setBatchNo(String batchNo) {
		this.batchNo = batchNo;
	}

	public String getPackageCode() {
		return packageCode;
	}

	public void setPackageCode(String packageCode) {
		this.packageCode = packageCode;
	}

	public Long getPackageWeight() {
		return packageWeight;
	}

	public void setPackageWeight(Long packageWeight) {
		this.packageWeight = packageWeight;
	}

	public Long getOrdersInPackage() {
		return ordersInPackage;
	}

	public void setOrdersInPackage(Long ordersInPackage) {
		this.ordersInPackage = ordersInPackage;
	}
	
	@XmlElementWrapper(name = "OrderInfos")
    @XmlElement(name = "product")
	public List<Product> getOrderInfos() {
		return orderInfos;
	}

	public void setOrderInfos(List<Product> orderInfos) {
		this.orderInfos = orderInfos;
	}

	@XmlElement(name = "Rprovince")
	public String getRprovince() {
		return rprovince;
	}

	public void setRprovince(String rprovince) {
		this.rprovince = rprovince;
	}

	@XmlElement(name = "Rcity")
	public String getRcity() {
		return rcity;
	}

	public void setRcity(String rcity) {
		this.rcity = rcity;
	}

	@XmlElement(name = "Raddress")
	public String getRaddress() {
		return raddress;
	}

	public void setRaddress(String raddress) {
		this.raddress = raddress;
	}

	@XmlElement(name = "Rpostcode")
	public String getRpostcode() {
		return rpostcode;
	}

	public void setRpostcode(String rpostcode) {
		this.rpostcode = rpostcode;
	}

	@XmlElement(name = "Rname")
	public String getRname() {
		return rname;
	}

	public void setRname(String rname) {
		this.rname = rname;
	}

	@XmlElement(name = "Rphone")
	public String getRphone() {
		return rphone;
	}

	public void setRphone(String rphone) {
		this.rphone = rphone;
	}

	@XmlElement(name = "Remail")
	public String getRemail() {
		return remail;
	}

	public void setRemail(String remail) {
		this.remail = remail;
	}
	
	@XmlElement(name = "Sname")
	public String getSname() {
		return sname;
	}

	public void setSname(String sname) {
		this.sname = sname;
	}

	@XmlElement(name = "SwangwangId")
	public String getSwangwangId() {
		return swangwangId;
	}

	public void setSwangwangId(String swangwangId) {
		this.swangwangId = swangwangId;
	}

	@XmlElement(name = "Sprovince")
	public String getSprovince() {
		return sprovince;
	}

	public void setSprovince(String sprovince) {
		this.sprovince = sprovince;
	}

	@XmlElement(name = "Scity")
	public String getScity() {
		return scity;
	}

	public void setScity(String scity) {
		this.scity = scity;
	}

	@XmlElement(name = "Saddress")
	public String getSaddress() {
		return saddress;
	}

	public void setSaddress(String saddress) {
		this.saddress = saddress;
	}

	@XmlElement(name = "Sphone")
	public String getSphone() {
		return sphone;
	}

	public void setSphone(String sphone) {
		this.sphone = sphone;
	}

	@XmlElement(name = "Spostcode")
	public String getSpostcode() {
		return spostcode;
	}

	public void setSpostcode(String spostcode) {
		this.spostcode = spostcode;
	}
}
